| Job Requirements |
$80-$120K plus bonus
Key skills: Expert knowledge of the following: software development, object-oriented design, data structures, multi-threading, concurrency, real-time systems, network technologies, Windows.
This position will be involved in creating and maintaining low-latency, high-frequency trading applications in various futures and options markets around the world. A successful candidate will be able to operate both independently and as part of a team to produce high-quality software for an in-house client base working directly with traders to develop specifications, develop designs, produce, and test the trading applications.
Responsibilities: -Responsible for planning, processing and performing all jobs in an efficient manner with minimal assistance from the supervisor. - Ability to learn and develop a thorough understanding of the principles and terminology surrounding the trading of futures and other derivatives. -Design and develop trading systems making specific determinations about system performance. -Review and repair legacy code. -Expected to conduct system analysis and development, with limited support from professional staff, to keep our systems current with changing technologies. -Analyze system specifications and translate requirements from non-technical staff to task specifications for junior programmers or testers. -Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming. -Maintain application databases -Capable of writing proposals or papers. -Maintain positive client interactions. -Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff. -Responsible for communicating with engineers and manufacturer's technical support staff regarding interface to futures/options exchanges, networking equipment, and other third-party service providers. -Provide feedback to management about performance considerations / usability issues concerning software specifications and implementation. -Research and recommend software tools to management. -Provide assistance to testers and support personnel as needed to determine system problems. -Review, to the extent possible, changes in code and the environment that will affect system performance.
Qualifications: -Expert knowledge of object-oriented design techniques. -Expert knowledge of data structures. -Expert knowledge of multi-threading and concurrency best practices. -Some knowledge of mathematical and statistical principles and formulas. -Expert knowledge of maintaining and debugging real-time software systems. -Ability to identify tasks which require automation and automate them. -A solid understanding of networking/distributed computing environment concepts. -Solid understanding the principles of routing, client/server programming. -Possess excellent communication skills, with an emphasis on verbal and written communication. -Ability to multi-task and stay organized in a dynamic work environment. -Ability to "think outside the box". -Experience and ability to teach or instruct co-workers. -Working closely with management team in evaluating current systems and making decisions on future development. -In-depth technical knowledge of the current hardware. -Strong knowledge of current MS-Windows operating systems. -Expert knowledge of standard development tools. -Expert knowledge of networking technologies specifically TCP and UDP from the programmers prospective. -Ability to determine whether a particular problem is caused by hardware, operating systems software, application programs, or network failures. -Expert knowledge of component writing.
|